<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    >
    <xsl:output method="xml" version="1.0" encoding="iso-8859-1" indent="yes"/>
    <xsl:template match="/">
        <xsl:element name="rdf:RDF">
            <xsl:element name="owl:Ontology"/>
            <xsl:apply-templates select ="opisScenariusza"/>
        </xsl:element>
    </xsl:template>
    <xsl:template match="opisScenariusza">
        <xsl:element name="owl:Class">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:apply-templates select="czescUstrukturalizowanaScenariusza"/>
            <xsl:apply-templates select="czescSwobodnaScenariusza"/>
        </xsl:element>
    </xsl:template>
    <xsl:template match="czescUstrukturalizowanaScenariusza">
        <xsl:element name="owl:Class">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:apply-templates select="nazwaSytuacji"/>
            <xsl:apply-templates select="specyfikacjaDanychAutoraScenariusza"/>
            <xsl:apply-templates select="specyfikacjaDanychZespoluAutoraScenariusza"/>
            <xsl:apply-templates select="dataOpisuScenariusza"/>
            <xsl:apply-templates select="celPlanuDzialanAktywnosciZdarzenStanow"/>
            <xsl:apply-templates select="planReprezentujacyDeskrypcjeSytuacji"/>
            <xsl:apply-templates select="bytBazowyUstanawiajacySytuacje"/>
        </xsl:element>
    </xsl:template>
  
    <xsl:template match="nazwaSytuacji">
        <xsl:element name="owl:ObjectProperty">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:value-of select="."/>
        </xsl:element>
    </xsl:template>
    <xsl:template match="specyfikacjaDanychAutoraScenariusza">
        <xsl:element name="owl:Class">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:apply-templates select="typFunkcjiAutora"/>
            <xsl:apply-templates select="nazwaIdentfikujacaAutora"/>
        </xsl:element>
    </xsl:template>
    <xsl:template match="specyfikacjaDanychZespoluAutoraScenariusza">
        <xsl:element name="owl:ObjectProperty">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:value-of select="."/>
        </xsl:element>
    </xsl:template>
    <xsl:template match="dataOpisuScenariusza">
        <xsl:element name="owl:ObjectProperty">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:value-of select="."/>
        </xsl:element>
    </xsl:template>
    
    <xsl:template match="celPlanuDzialanAktywnosciZdarzenStanow">
        <xsl:element name="owl:Class">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:apply-templates select="celGlowny"/>
            <xsl:apply-templates select="celPodrzedny"/>
        </xsl:element>
    </xsl:template>
    <xsl:template match="planReprezentujacyDeskrypcjeSytuacji">
        <xsl:element name="owl:Class">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:apply-templates select="nazwaPlanu"/>
            <xsl:apply-templates select="specyfikacjaElementuPlanu"/>
        </xsl:element>
    </xsl:template>
    <xsl:template match="typFunkcjiAutora">
        <xsl:element name="owl:ObjectProperty">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:value-of select="."/>
        </xsl:element>
    </xsl:template>
    <xsl:template match="nazwaIdentfikujacaAutora">
        <xsl:element name="owl:ObjectProperty">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:value-of select="."/>
        </xsl:element>
    </xsl:template>
    <xsl:template match="celGlowny">
        <xsl:element name="owl:ObjectProperty">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:value-of select="."/>
        </xsl:element>
    </xsl:template>
    <xsl:template match="celPodrzedny">
        <xsl:element name="owl:ObjectProperty">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:value-of select="."/>
        </xsl:element>
    </xsl:template>
    <xsl:template match="nazwaPlanu">
        <xsl:element name="owl:ObjectProperty">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:value-of select="."/>
        </xsl:element>
    </xsl:template>
    <xsl:template match="specyfikacjaElementuPlanu">
        <xsl:element name="owl:Class">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:apply-templates select="specyfikacjaZadania"/>
            <xsl:apply-templates select="opisAktywnosci"/>
            <xsl:apply-templates select="opisZdarzenia"/>
            <xsl:apply-templates select="opisStanu"/>
        </xsl:element>
    </xsl:template>
    <xsl:template match="specyfikacjaZadania">
        <xsl:element name="owl:Class">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:apply-templates select="nazwaZadaniaWPlanieReprezentujacymDeskrypcjeSytuacji"/>
            <xsl:apply-templates select="rolaWPlanieReprezentujacymDeskrypcjeSytuacji"/>
        </xsl:element>
    </xsl:template>
    <xsl:template match="nazwaZadaniaWPlanieReprezentujacymDeskrypcjeSytuacji">
        <xsl:element name="owl:ObjectProperty">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:value-of select="."/>
        </xsl:element>
    </xsl:template>
    <xsl:template match="rolaWPlanieReprezentujacymDeskrypcjeSytuacji">
        <xsl:element name="owl:Class">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:apply-templates select="nazwaRoliAgentywnej"/>
            <xsl:apply-templates select="nazwaRoliPacjensa-Beneficjenta"/>
            <xsl:apply-templates select="nazwaRoliPacjensa-Obiektu"/>
            <xsl:apply-templates select="nazwaRoliInstrumentalnej"/>
            <xsl:apply-templates select="nazwaRoliSposobuWykonania"/>
            <xsl:apply-templates select="nazwaRoliWynikowej"/>
            <xsl:apply-templates select="nazwaRoliLokalizujacejWPrzestrzeni"/>
            <xsl:apply-templates select="nazwaRoliReifikujacej"/>
            <xsl:apply-templates select="nazwaRoliPodmiotowej"/>
            <xsl:apply-templates select="nazwaRoliPrzedmiotowej"/>
            <xsl:apply-templates select="klasyfikuje"/>
        </xsl:element>
    </xsl:template>
    <xsl:template match="nazwaRoliAgentywnej">
        <xsl:element name="owl:ObjectProperty">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:value-of select="."/>
        </xsl:element>
    </xsl:template>
    <xsl:template match="nazwaRoliPacjensa-Beneficjenta">
        <xsl:element name="owl:ObjectProperty">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:value-of select="."/>
        </xsl:element>
    </xsl:template>
    <xsl:template match="nazwaRoliPacjensa-Obiektu">
        <xsl:element name="owl:ObjectProperty">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:value-of select="."/>
        </xsl:element>
    </xsl:template>
    <xsl:template match="nazwaRoliInstrumentalnej">
        <xsl:element name="owl:ObjectProperty">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:value-of select="."/>
        </xsl:element>
    </xsl:template>
    <xsl:template match="nazwaRoliSposobuWykonania">
        <xsl:element name="owl:ObjectProperty">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:value-of select="."/>
        </xsl:element>
    </xsl:template>
    <xsl:template match="nazwaRoliWynikowej">
        <xsl:element name="owl:ObjectProperty">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:apply-templates select="nazwaRoli-SkutkuRozpoczynanego"/>
            <xsl:apply-templates select="nazwaRoli-SkutkuKonczonego"/>
        </xsl:element>
    </xsl:template>
    <xsl:template match="nazwaRoliLokalizujacejWPrzestrzeni">
        <xsl:element name="owl:ObjectProperty">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:value-of select="."/>
        </xsl:element>
    </xsl:template>
    <xsl:template match="nazwaRoliReifikujacej">
        <xsl:element name="owl:ObjectProperty">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:value-of select="."/>
        </xsl:element>
    </xsl:template>
    <xsl:template match="nazwaRoliPodmiotowej">
        <xsl:element name="owl:ObjectProperty">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:value-of select="."/>
        </xsl:element>
    </xsl:template>
    <xsl:template match="nazwaRoliPrzedmiotowej">
        <xsl:element name="owl:ObjectProperty">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:value-of select="."/>
        </xsl:element>
    </xsl:template>
    <xsl:template match="klasyfikuje">
        <xsl:element name="owl:ObjectProperty">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:value-of select="."/>
        </xsl:element>
    </xsl:template>
   
    <xsl:template match="nazwaRoli-SkutkuRozpoczynanego">
        <xsl:element name="owl:ObjectProperty">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:value-of select="."/>
        </xsl:element>
    </xsl:template>
    <xsl:template match="nazwaRoli-SkutkuKonczonego">
        <xsl:element name="owl:ObjectProperty">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:value-of select="."/>
        </xsl:element>
    </xsl:template>
    <xsl:template match="typBytuBazowegoUstanawiajacegoSytuacje">
        <xsl:element name="owl:Class">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:apply-templates select="nazwaBytuBazowego"/>
            <xsl:apply-templates select="jestKlasyfikowanyPrzez"/>
            <xsl:apply-templates select="jestPodtypem"/>
            <xsl:apply-templates select="maPodtyp"/>
        </xsl:element>
    </xsl:template>
    <xsl:template match="nazwaBytuBazowego">
        <xsl:element name="owl:ObjectProperty">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:value-of select="."/>
        </xsl:element>
    </xsl:template>
    <xsl:template match="jestKlasyfikowanyPrzez">
        <xsl:element name="owl:ObjectProperty">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:value-of select="."/>
        </xsl:element>
    </xsl:template>
    <xsl:template match="jestPodtypem">
        <xsl:element name="owl:ObjectProperty">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:value-of select="."/>
        </xsl:element>
    </xsl:template>
    <xsl:template match="maPodtyp">
        <xsl:element name="owl:ObjectProperty">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:value-of select="."/>
        </xsl:element>
    </xsl:template>
    <xsl:template match="czescSwobodnaScenariusza">
        <xsl:element name="owl:ObjectProperty">
            <xsl:attribute name="rdf:about">
                <xsl:value-of select="name(.)"/>
            </xsl:attribute>
            <xsl:value-of select="."/>
        </xsl:element>
    </xsl:template>
</xsl:stylesheet>